Method for decoding data coded with an entropic code, corresponding decoding device and transmission system

ABSTRACT

The invention concerns a method for decoding received digital data corresponding to transmitted digital data coded with an entropic code associating with each word of an alphabet a distinct bit sequence, whereof the length is a function of said word occurrence probability, using a decoding lattice whereof each transition corresponds to a binary value 0 or 1 of one of the bits of a sequence corresponding to one of said words.

CROSS-REFERENCE TO RELATED APPLICATION

This Application is a Section 371 National Stage Application ofInternational Application No. PCT/FR00/03061 filed Nov. 2, 2000 andpublished as WO 01/35535 on May 17, 2001, not in English.

FIELD OF THE INVENTION

The field of the invention is that of the transmission or broadcastingof digital data signals. More specifically, the invention relates to thedecoding of transmitted digital signals and, especially, sourcedecoding. More specifically again, the invention can be applied to thedecoding of data encoded with a source encoding method using entropiccodes such as the VLC or variable length code.

BACKGROUND OF THE INVENTION

The digital communications systems commonly used today rely on encodingsystems that implement, on the one hand, source encoding and, on theother, channel encoding. Conventionally, these two encoding systems areoptimized separately. The purpose of the source encoding is to achievemaximum reduction in the redundancy of the source signal to betransmitted. Then, to protect this information from the disturbanceinherent in all transmission, the channel encoder introduces controlledredundancy.

At present, the best results in source (audio, image and/or videosource) encoding are obtained by using discrete cosine transform (DCT)or wavelets commonly associated with VLCs. Channel encodingconventionally implements turbo-codes [1] (the bibliographicalreferences are assembled in appendix C in order to facilitate thereading of the present description), and more generally that of thesoft-decision iterative decoders. These techniques have permitteddecisive progress towards the theoretical limit defined by Shannon [2].

However, the optimality of the separation between source encoding andchannel encoding is guaranteed only for codes with a length tendingtowards infinity. Consequently, research has also been conducted toobtain, along with finite-length channel codes, joint source-channelencoding and/or decoding systems.

The invention thus relates to the decoding of entropic codes, andespecially but not exclusively to the joint source-channel decoding of asystem implementing an entropic code.

Combined decoding has many fields of application, for example videoimage transmission, especially according to the MPEG 4 (Moving PictureExpert Group) standard.

Variable length codes are well known. For example, appendix A gives aquick review of the Huffman code. The special embodiment of theinvention described hereinafter can be applied especially but notexclusively to this type of entropic code.

Variable length codes are of vital importance in the limitation of theband occupied by the transmitted signal, but their use makestransmission less error-robust. Furthermore, it is difficult to use thea priori probabilities of the source when decoding, because it is notpossible to know the beginning and the end of each word, since thelength of these words is, by definition, variable.

A variety of techniques has been proposed for joint source-channeldecoding related to the use of these variable length codes. Inparticular:

K. Sayood and N. Demir have proposed [4] a decoding of VLC words. Thetwo major drawbacks of this type of decoding are found here. These arelattice complexity that increases rapidly with the number of differentVLC words and decoding that remains at the symbol (or word) level;

Ahshun H. Murad and Thomas E. Fuja [5] propose a super-lattice method inwhich the decoding lattice is the one obtained by the product of thelattice of the channel decoder, the lattice of the source decoder andthe lattice representing the source. This approach is clearly limited bythe complexity of the decoding;

K. P. Subbalaskshmi and J. Vaisey [6] give a lattice structure that canbe used to know the beginning and end of each word and therefore enablesthe use of the a priori information available on the VLC words sent.This decoder works on the words and sends no extrinsic information onthe decoded bits;

Jiangtao Wen and John D. Villasenor [7] use a decoding block working onthe words and sending a reliability value for the decoded sequence. Thisdecoder uses the number of VLC words in the received sequence as apriori information.

It is a goal of the invention especially to overcome the differentdrawbacks of these prior art techniques.

More specifically, it is a goal of the invention to provide a techniquefor the decoding of data encoded with an entropic code used to obtain areduction in the symbol error rate, especially with respect to separate(tandem) decoding schemes.

On the implementation aspects, it is a goal of the invention to providea decoding technique of this kind with very low complexity as comparedwith known techniques.

In particular, it is a goal of the invention to provide a decodingtechnique of this kind with a reasonable operational complexity, namelyone that can be implemented in practice at reasonable cost, especiallywhen the number of different words considered by the entropic code ishigh.

It is also a goal of the invention to provide a technique of this kindthat delivers confidence bits that can be exploited in the channeldecoding operation.

In other words, it is a particular goal of the invention to providemethods of joint source-channel decoding that are well suited to theentropic codes, especially the VLCs and the RVLCs.

Yet another goal of the invention is to provide a decoding technique ofthis kind that improves the performance obtained with known channelcodes, especially encoders implementing turbo-codes.,

BRIEF SUMMARY OF THE INVENTION

These goals as well as others that shall appear more clearly here beloware achieved by means of a method for the decoding of received digitaldata, corresponding to sent digital data encoded by means of an entropiccode associating a distinct sequence of bits with each of the words ofan alphabet, the length of this sequence depending on the probability ofoccurrence of said word.

According to the invention, this method implements a decoding latticefor which each transition corresponds to a binary value 0 or 1 of one ofthe bits of a sequence of bits corresponding to one of said words.

In other words, the invention is based on a novel approach to thedecoding of variable length codes, it is the transitions at bit levelthat are considered and not, conventionally, the transitions at the wordlevel or the symbol level.

This approach is novel and non-obvious. Those skilled in the art areconvinced that the fact that the symbols have variable length makes itnecessary to work at the symbol level in order to know the beginning andend of the symbols. The inventors show that this is not obligatory.

Furthermore, the fact of working at the bit level gives a piece ofinformation that can be exploited by a channel decoder and thereforeenables joint decoding, as shall be seen more clearly here below.

Said entropic code may take the form of a binary tree comprising a rootnode, a plurality of intermediate nodes and a plurality of leaf nodes, asequence of bits corresponding to one of said words being formed inconsidering the successive transitions of said tree from said root nodeup to the leaf node associated with said word. In this case,advantageously, the states of each stage of said lattice comprise asingle state known as an extremal state, corresponding to said root nodeand to all of said leaf nodes, and a distinct state, called anintermediate state, for each of said intermediate nodes.

Thus, a simple lattice with a limited number of states is obtained.

Preferably, a piece of likelihood information is associated with eachtransition of said lattice. Said likelihood information is thenadvantageously a metric taking account, firstly of a piece ofinformation representing the transmission channel and secondly a pieceof a priori information on said entropic code.

For example, said a priori information belongs to the group comprising:

the entropic code implemented; and/or

the a priori probabilities of each of said words of the code; and/or

the number of words sent; and/or

borderline values for the coefficients.

Thus, the following probability can be computed for each of saidtransitions:

Γ_(i)[(x _(k) ,x _(k) ^(p)),d _(k) , d _(k−1) ]=Pr(x _(k) /a _(k)=i)Pr(y _(k) ^(p) /a _(k) =i,d _(k) ,d _(k−1))Pr{a _(k) =i,d _(k) /d_(k−1)}

for which the information and parameters are described here below.

Said entropic code may belong especially to the group comprising:

Huffman codes;

Reversible variable length codes (RVLC).

Preferably, in the case of an RVLC code, said a priori information isused for a forward phase in the path through said lattice and a backwardphase in the path through said lattice.

The invention also relates to a method for the joint source-channeldecoding of the digital signals received, based on this approach, wherethe source encoding implements an entropic code associating a distinctbit sequence with each of the words of an alphabet, the length of thesequence being a function of the probability of occurrences of saidword.

According to the invention, this joint decoding method implements asource decoding operation using at least one decoding lattice, eachtransition of which corresponds to a binary value 0 or 1 of one of thebits of the bit sequence corresponding to one of said words, said sourcedecoding operation delivering a piece of information extrinsic to thechannel decoding.

The channel decoding may advantageously implement a turbo-code type ofdecoding that can rely on a parallel type implementation or a serialtype approach.

Advantageously, the joint decoding method of the invention relies on aniterative implementation.

In this case, each of the iterations may sequentially comprise a channeldecoding step and a source decoding step, said channel decoding stepdelivering a piece of channel information taken into account in saidsource decoding step, this source decoding step delivering an a prioripiece of information taken into account in said channel decoding step.

In particular, the method may comprise:

a first channel decoding step;

a first source decoding step, fed by said first channel decoding step;

a second channel decoding step, fed by said first channel decoding stepand said first source decoding step, through an interleaver identical tothe interleaver implemented at the decoding, and feeding said firstchannel decoding step, through a de-interleaver symmetrical with saidinterleaver;

a second source decoding step fed by said second channel decoding stepthrough said de-interleaver and feeding said first channel decodingstep.

According to another aspect, the invention also relates to a method forthe joint source-channel decoding of a received digital signal, wherethe source encoding operation implements an entropic code associating adistinct bit sequence with each of the words of an alphabet, the lengthof this bit sequence being a function of the probability of occurrenceof said word, said method implementing a channel decoding lattice,similar to the channel encoding lattice, in which, with each state ofeach stage, there is associated a piece of information representing asequence, passing through this state, of bits decoded from the past,with respect to the path direction of said lattice, designating theposition of the bits considered in the tree representing said entropiccode and/or a piece of information for the verification the number ofdecoded words and/or the value taken by said decoded bits.

In this case, the joint decoding method advantageously comprises, foreach of said states, the following steps:

the addition, to the two branches coming into said state, of the channelmetric and the source metric;

the comparison of the two new metrics obtained, and the selection of theshortest metric;

if said piece of information designating the position indicates the endof a word, considering the node to be a leaf of the tree, and, if not,passing on to the next node in the tree.

Preferably, this method implements an iterative procedure which may forexample comprise the following steps:

a first channel decoding operation, implementing a channel decodinglattice for which each state has a piece of information availabledesignating the position of the bits considered in the tree representingsaid entropic code;

a second channel decoding operation, fed by said first channel decoding,through an interleaver identical to the interleaver implemented at thedecoding, and feeding said first channel decoding step, through ade-interleaver symmetrical with said interleaver;

a source decoding operation fed by said second channel decoding, throughsaid de-interleaver.

Again, in this case, a (parallel or series) turbo-code type decoding isimplemented.

Advantageously, each iteration of said turbo-code type decodingimplements a block matrix, having rows and columns, on which a rowdecoding operation (or column decoding operation respectively) isperformed followed by a column decoding operation (or row decodingoperation respectively), and this a priori information is used for saidrow decoding operation (and column decoding operation respectively).

In this case, preferably, each row (or column respectively) correspondsto a code word formed by k information bits and n-k padding bits, andeach piece of a priori information is used on said k information bits.

In particular, when the code used is an RVLC code, it is advantageous toconcatenate the channel decoding and source decoding lattices, saidchannel decoding being controlled by a piece of a priori information onthe source.

It is then possible to apply a parallel or series type of algorithmknown as the “List-Viterbi” algorithm, associated with a step for thereplacement of a sequence not authorized by the source, by the mostprobable authorized sequence, on the path through the channel decodinglattice, or an algorithm known as a “SUBMAP”, in the directions of theforward and backward directions of the channel decoding lattice.

Preferably, the decoding method also implements a step to detect the endof the sequence of code words to be decoded.

This detection step may rely especially on the implementation of atleast one of the techniques belonging to the group comprising:

the insertion at transmission of an end-of-sequence piece ofinformation;

the insertion of padding bits, so that the lattice of the channeldecoder associated with the sequence sent ends in a known state;

the use of the technique known as “tail-biting”;

the use of a circular lattice.

Advantageously, in the different embodiments referred to here above, themethod furthermore comprises a step of searching for the most probableauthorized sequence by means of a reduced symbol lattice having a singleinitial state (d0) from which there are as many outgoing and arrivingwords as there are code words.

Naturally, the invention also relates to all the digital data decodingdevices implementing one of the decoding methods described here above,as well as digital signal transmission systems implementing an entropicsource encoding operation and a channel encoding operation attransmission and a decoding operation, as described further above, atreception.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features and advantages of the invention shall appear from thefollowing description of preferred embodiments of the invention, givenby way of simple, illustrative and non-restrictive examples, and fromthe appended drawings, of which:

FIG. 1 shows an exemplary Huffman code in the form of a binary tree;

FIG. 2 illustrates a symbol lattice according to the invention, known asa reduced symbol lattice, corresponding to the tree of FIG. 1;

FIG. 3 illustrates a binary lattice according to the invention, known asa reduced binary lattice, corresponding to the tree of FIG. 1;

FIG. 4 is a drawing illustrating a joint turbo-code type of decodingstructure, implementing a “SISO_huff” module according to the invention;

FIG. 5 illustrates the progress of the joint source-channel decodingalgorithm according to a second mode of implementation;

FIG. 6 shows an iterative scheme of joint decoding implementing thealgorithm illustrated in FIG. 5;

FIG. 7 shows a combination of the methods of FIGS. 4 to 6;

FIG. 8, commented upon in the appendix A, illustrates the constructionof a Huffman code;

FIG. 9 shows the Huffman code block turbo-decoding matrix;

FIG. 10 illustrates a joint decoding of RVLC codes;

FIGS. 11 and 12 show two modes of implementation of a joint decoding ofRVLC codes with turbo-codes, with the use of a reduced lattice.

Preferred Embodiments

1-Introduction

The goal of the invention therefore is to present a decoding techniquethat reduces the symbol error rate, by using a priori information on thesource, probabilities on the VLC code words or probabilities oftransition between the words. It has been observed that this reductionis higher if the decoders use a priori information on the source at thebit level, because information on the channel decoding can be extractedonly at this bit level.

Until now, most of the methods proposed for the decoding of the VLCcodes work at the word level (or the symbol level, these two terms beingused without distinction here below) and therefore cannot provideextrinsic information at the bit level. Furthermore these methods are,in most cases, excessively complex and therefore cannot be performed inpractice when the number of different words to be transmitted increases.The only attempt made at the bit level is shown in [5]. Very clearly,this approach has very high operational complexity, and soon becomesimpossible to implement.

By contrast, the technique of the invention can be used to determine notonly the optimum word sequence but also the dependability associatedwith each of the bits of each word. To do so, the invention uses a pieceof a priori information on the source, namely the a priori probabilitiesof the words of the VLC code, or that of the Markov transition betweenthe words of the code.

This technique may advantageously be used in a turbo-code type iterativescheme and improve transmission performance.

2-Notation

Hereinafter, the following notation is used:

a soft decision corresponds to a non-binary real decision. Athreshold-setting operation on this decision will give a hard decision.

the ratio E_(b)/N_(O) corresponds to the ratio between the energyreceived per useful bit divided by the mono-lateral spectral density ofthe noise;

the DC (Direct Component) band of an image is the direct component ofthe image after transformation by wavelet or DCT.

A bit sequence received is referenced by X or Y. This sequence consistsof words referenced x^(i), these words consisting of bits referencedx^(i) _(j);

the notation p(a)=Pr{x^(i)=a} is used

an RVLC <<Reversible VLC>>) [8] is a variable length code whose wordsare decoded in both directions

a SISO (<<Soft-In Soft-Out>>) has soft values as inputs and deliverssoft outputs.

3-Soft Source Decoding of Variable Length Codes

Appendix B shows how it is possible to extract information from thevariable length word sequences sent by a Huffman encoder (see appendixA), by modeling the source either by a random process generatingindependent symbols or by a Markovian random process.

FIG. 1 shows an exemplary Huffman code in the form of a binary tree. Itconsists of five words a, b, c, d, e with probabilities p(a), p(b),p(c), p(d), and p(e), and respective lengths 3, 3, 2, 2 and 2.

The corresponding encoding table is given here below:

TABLE 1 table of the VLC codes of the tree of FIG. 1. a 111 b 110 c  10d  01 e  00

Table 1: table of the VLC codes of the tree of FIG. 1.

If we look at the bit level, according to the approach of the invention,we see that four states are needed to describe the tree of FIG. 1 inlattice form. These states are d0 for the beginning and the end of thesymbols, d1, d2 and d3 for the intermediate positions. However, at thesymbol level, it is observed that only one state d0 may suffice, asshown in FIG. 2. The reduced symbol lattice thus defined is then alattice with a single state d0, from which there are as many outgoingand arriving branches as there are VLC words in existence. In theexample of FIG. 1, at each stage (t-2, t-1, t), this lattice has fivebranches corresponding to the words a, b, c, d and e.

The reduced lattice symbol uses the a priori probabilities on the wordsof the source, in working at the word level. This lattice may also beused as a complementary lattice during the decoding using the Markovprobabilities. As shall be seen here below, this reduced lattice mayadvantageously be implemented as a complement to the decoding of theinvention.

4-Decoding According to the Invention at the Bit Level

It has been seen that, according to prior art techniques, the method fordecoding a VLC source used the a priori probabilities of the VLC wordsat the word level. This averts the need to send dependability values oneach bit of the decoded sequence. It is shown hereinafter how the apriori probabilities on the words may be broken down into a product of apriori probability on the bits. Then, the decoding methods that relay onthis approach are described.

4.1 Use of the a Priori Probabilities of the VLC Code Words at the BitLevel

This part explains the breakdown of the probabilities of the words intoa product of binary probabilities.

Let us take the example of the word a: According to the tree of FIG. 1we have:

p(a)=Pr{x ^(i) =a}=Pr{x ₀ ^(i)=1,x ₁ ^(i)=1,x ₂ ^(i)=1}  (8)

This probability cab be broken down according to the equation:

p(a)=Pr{x ₀ ^(i)=1}Pr{x ₁ ^(i)=1/x ₀ ^(i)=1}Pr{x ₂ ^(i)=1/x ₀ ^(i)=1,x ₁^(i)=1}  (9)

The probability p(a) is therefore the product of three probabilitiesassociated with each of the bits of the word a.

With a lattice that indicates the position of the bit in the word thatis decoded, these binary probabilities are used to carry out binary“soft” decoding.

Pr(x ₁ ^(i)=1/x ₀ ^(i)=1)

For example, if it is known that we are in the second position of theword a, then the probability to be used on the branch is:

Pr{x _(k) ^(i)=+1/(x _(j) ^(i)=+1,j<k)}

Let us calculate, for the word a and for k=0,1,2 the probabilities forthe word a.

Pr{x ₀ ^(i)=1}=Pr{top _(i,0) =S1}=p(a)+p(b)+p(c)  (10)

The tree of FIG. 1 immediately gives the solution. The followingequalities are deduced therefrom at the different treetops:$\begin{matrix}{{\Pr \left\{ {x_{1}^{i} = {{1/x_{0}^{i}} = 1}} \right\}} = {{\Pr \left\{ {{top}_{i,1} = {{{S3}/{top}_{i,0}} = {S1}}} \right\}} = \frac{{p(a)} + {p(b)}}{{p(a)} + {p(b)} + {p(c)}}}} & (11) \\{{\Pr \left\{ {{x_{2}^{i} = {{1/x_{0}^{i}} = 1}},{x_{1}^{i} = 1}} \right\}} = {{\Pr \left\{ {{top}_{i,2} = {{{S7}/{top}_{i,1}} = {S3}}} \right\}} = \frac{p(a)}{{p(a)} + {p(b)}}}} & (12)\end{matrix}$

This computation can easily be generalized to the case of a real Huffmancode. Let C=(w^(i)) be the set of Huffman code words,S_(k)={n∈N|∀p<k,w_(p) ^(n)=x_(p) ^(i)} the set of the indices of thewords whose k first bits are equal to the k first bits of the word x¹and S_(k) ¹={n∈S|w_(k) ⁰=s} the indices of S_(k) of the words whosek^(th) bit is equal to s(s∈{0,1}), we have: $\begin{matrix}{\left. {\Pr \left\{ {x_{k}^{i} = S} \right.x_{p{({p < k})}}^{i}} \right\} = \frac{\sum\limits_{l \in \quad S_{k}}{\Pr ({wt})}}{\sum\limits_{l \in \quad S_{k}}{\Pr ({wt})}}} & (13)\end{matrix}$

The principle of computation is illustrated here in the case of a sourceof independent words. For a Markov source, the principle is the sameexcept that each distribution of the probabilities computed depends onthe previous word found. Thus the computation has to be made for all theprevious words possible.

Once this breakdown has been made for all the words of the VLC code, thereduced binary lattice enabling the use of the binary probabilities hasto be found. The breakdown of p(a), p(b), . . . into a product of binaryprobabilities has dictated a certain relationship between the binaryprobabilities and the probabilities of the words. These relationshipsare kept only if there is bijection between the branches of the tree andthose of the lattice. The lattice should have the least possiblecomplexity that gives the position of the bits in each word and avoidsthe identical parallel branches (i.e. branches with the same startingstate, same arrival state and same label

4.2 The Reduced Binary Lattice (Called<<SISO-huff>>)

First of all, we shall describe the construction algorithm of thereduced binary lattice. Then, we shall give the decoding algorithm onthis lattice and especially the use of a priori binary probabilities.

4.2.1 Algorithm for the Construction of a Reduced Binary LatticeInitialization of the Lattice

First state of the lattice, state 0: origin of the tree

i=1

construction loop

{

For each word of the VLC table,

For each bit of this word,

construction of the states

If the starting state of the branch of the tree labeled by this bit isnot associated with a state of the lattice, add a state lattice, state I

i++

If the arrival state of the branch is not associated with a state of thelattice,

If it corresponds to a non-terminal node of the tree,

Add a state to the lattice, state j(j==i)

i++

Else, associate this state with the state j(j=0)

Labeling of the branches

Create, if non-existent, a branch between the state i and the state jlabeled by the processed bit}

{

In the case of our example, the lattice of FIG. 3 is thus obtained.

This lattice gives the position of the bit in the word. If the currentstate is the state i, it is known, from the tree, that the currentposition is the position j of the word processed because there is abijective correspondence between the states i of the lattice and thepositions j in the tree.

4.2.2 Decoding Algorithm for Decoding From Reduced Binary Lattice

The decoding algorithm used on this lattice for the simulations givenhere below is an algorithm of the BCJR (Bahl Cocke Jelinek Raviv) [13]modified by Benedetto in [14] to process the parallel branches.

The metric computed on each branch takes account of the availableknowledge on the channel and the binary a priori probabilities computedearlier. More specifically, the formula of computation on a branch [15]is:

Γ_(i) [(x _(k) ,x _(k) ^(p)),d _(k) ,d _(k−1) ]=Pr(x _(k) /a _(k)=i)Pr(y _(k) ^(p) /a _(k) =i,d _(k),d_(k−1))Pr{a _(k) =i,d _(k) /d_(k−1)}  (14)

At the discrete instant k, the pair (x_(k),x_(k) ^(p)) is the pair oflikelihoods of the bits received, d_(k−1) and d_(k) are respectively theoutgoing and arrival states of the branch, a_(k) is the information bitassociated with the branch.

The first two terms of the straight line of the equation (14) refer tothe knowledge available on the channel. The third term,Pr{a_(k)=i,d_(k)d_(k−1)} corresponds to the a priori binary probability.

More generally, this a priori information on the source may be of manytypes:

either it corresponds to knowledge of the table of the Huffman code,reversible (RVLC) or not. In this case, the a priori informationconsists of probabilities belonging to the set {0,1,0.5}.

or it corresponds to knowledge of the table of the Huffman code,reversible or not, and of the probabilities of the associated words. Inthis case, it consists of probabilities belonging to the segment [0,1];

or it corresponds to the knowledge of the number of the words sent, thenumber of bits or the borderline values that can be taken by thecoefficients.

This lattice can be used in a soft binary decoding of the BCJR or SOVA(“Soft Output Viterbi Algorithm”) type. During the use of the Markov apriori probabilities, if the BCJR algorithm is used, the soft decodingcalls for a parallel processing operation that indicates the mostprobable preceding word for each stage. This processing is the oneachieved by the reduced symbol lattice. This increase in complexityimplies a preference for the SOVA algorithm or for the SUBMAP algorithm[11].

4.2 Generalizations

The method presented can be extended, without difficulty, to the casewhere the Huffman table contains more bits. However, the complexity ofthe reduced binary lattice increases with the number of words of theHuffman table.

The application of the method of the invention to the RVLC codes [8] mayof course be envisaged. The lattice of the <<SISO_huff>> block may beused by decoding in the other direction, but this implies an increase incomplexity. One alternative would be to use the a priori probabilitiesin one direction for the “forward” phase and in the other direction forthe “backward” phase.

Furthermore, it is useful to make a search among the equivalent Huffmancodes [17], for the one best suited to the soft decoding of the“SISO_huff” block.

5-Joint Source-Channel Decoding

5.1 Principle of the Use of the “SISO_Huff” Block

The reduced binary lattice or “SISO_huff” is used for a SISO typedecoding and can therefore be inserted into an iterative decoding schemelike that of FIG. 4.

Each decoding block 41 to 44 of FIG. 4 extracts extrinsic information onthe bits to be decoded and sends this information to the next block. Thepieces of information that flow between the different blocks are, as inthe reference [15], extrinsic probabilities.

From the two channel decoders DEC1 and DEC2, 41 and 43, two differentpieces of extrinsic information are extracted depending on whether theyare used by the “SISO_huff” block 42 or 44 or by the other channeldecoder 41 or 43. The extrinsic information 451, 452 used by the nextchannel decoder is the one conventionally used in the turbo-codes. Theone used by the “SISO_huff” block 42, 44, shown in bold characters, 461,462 corresponds to this first piece of information from which theinformation derived from the previous block “SISO_huff”, 44, 42 has beenremoved. This was done in order to follow the rule according to which noiterative decoding block must use a piece of information that it hasalready produced.

The overall structure of the iterative decoder is not discussed ingreater detail. It is known per se [1]. The modules E47₁ and 47₂ areinterleavers (identical to those implemented in the encoding operation)and the module E*48 is a de-interleaver symmetrical with theinterleaver.

The following pieces of information are taken into account:

X_(k): Likelihood information received on the information bits sent;

Y_(1k): Likelihood information on the parity bits coming from theencoder 1;

Y_(2K): Likelihood information on the parity bits coming from theencoder 2;

Proba: a priori probability;

Hard_output: decoded information bit.

This scheme is an exemplary iterative joint decoding system where the apriori information and the information of the channel are used in turnon their associated lattice. It can also be planned to make joint use ofthese two pieces of information on the lattice of the channel decoder ascan be seen in the second method proposed.

5.2 Second Joint Source-Channel Decoding Algorithm

The joint decoding proposed in FIG. 4 performs the two decodingfunctions iteratively and sequentially. Here below, a technique ispresented in which a single decoding block carries out both operationssimultaneously. This technique can be applied also to the decoding of aMarkov source.

The concept developed can be applied to any transmission chain formed bya (convolutional or block) channel decoder lattice and a source that canbe represented by a tree.

5.2.1 Algorithm for the Construction of the Lattice

The lattice used is that of the channel encoder and requires no newconstruction.

5.2.2 Decoding Algorithm

The decoding algorithm is a Viterbi type algorithm. It decodes the mostprobable word sequence. The computation of the metric brings into playnot only the information on the channel (this is the usual case) butalso the binary a priori probabilities.

More generally, with each state of each stage, there is an associatedpiece of information dependent on the sequence (passing through thisstate) of the past decoded bits with respect to the lattice pathdirection. This information may designate especially the position of thebit considered in the tree representing said entropic code. It may alsobe, for example, a verification of the number of decoded words or of thevalue taken by the decoded coefficients.

This method is similar to the one presented by Hagenauer [15] but isapplied here to variable length codes.

To this end, the algorithm must know which branch of the Huffman treecorresponds to the branch currently being processed on the channeldecoder. This information is enough for it to give the appropriatebinary a priori probability (computed as in paragraph 4.1 and storedbeforehand in the table).

This piece of information can easily be accessed by keeping the positionof the bit in the tree up to date for each stage and each state of thelattice of the channel decoder.

For each stage of the channel decoder,

For each state,

{

ACS (Add Compare Select) field

add the metric of the channel and the metric of the source to the twobranches coming into the state

compare the two new metrics obtained, and choose the smallest metricsupdated

if the end of a word is reached,

node=root of the tree

else

node=next node in the tree

{

Let us again take the example of the tree of FIG. 1. The algorithm runsas shown in FIG. 5. At the stage considered, the two concurrentsequences reaching the second state of the letters. Each sequencecorresponds to a stringing of different VLC words. The first word,represented by a solid line, corresponds to the sending of e, d, . . . ,the second word represented by dots corresponds to b, e, . . . The apriori branch probability for each of them, P[S2][0] and P[S0][1],depends on the node Si noted in the sequence and on the bit 0 or 1 thatlabels the branch. Once the probability of the branch has been computed,by the relationship (6), the classic ACS can be done.

This approach is very valuable because, unlike the solution of the“SISO_huff” block, it is not limited in complexity by the size of theHuffman table and it increases the present complexity of channeldecoders only to a very small extent.

6-Application of the Second Algorithm to an Iterative Joint DecodingScheme

6.1 The Use of this Method in an Iterative Scheme

A scheme for use in an iterative decoding operation is shown in FIG. 6.The first decoder 61 uses the channel information and the a prioriinformation on the same lattice. However, the second decoder 62 cannotuse the a priori information because the interleaver 63, referenced E,breaks the relationships between the VLC code words. This interleaveruses the probabilities p(0) and p(1) which in most cases are different.

6.2 Total of the Two Joint Decoding Approaches

Both methods proposed here above can be used in an iterative scheme,such as the one given by way of an example in FIG. 7. In this figure,the notations are identical to those used here above.

The preparation of an interleaver that maintains the relationshipsbetween the words provides for a compromise between optimal binaryinterleaving and preservation of the a priori structure on the words.

7-Case of the Turbo-Codes in Blocs

Each iteration of the turbo-codes in blocks comprises a soft(weighted-decision) decoding of the rows and then a soft decoding of thecolumns (or vice versa). The method described here below is used in thesame way, whether the a priori information is used on a row decodingoperation or on a column decoding operation. It must be noted, in thesame way, that for convolutional turbo-codes, the a priori informationcan be used only in one direction (row or column) because theinterleaver breaks the order of the bits for the other direction.

Each row (or column) of the block matrix corresponds to a code word. Fora code with a yield of k/n, a code word contains k information bits andn-k redundancy bits.

If the set of the k first bits is referenced K and the set of the n-kparity bits is referenced M, the equation of the a priori probability ofa code word C becomes: $\begin{matrix}{{P(C)} = {P\left( {K,M} \right)}} \\{= {{P(K)} \times {P\left( {M/K} \right)}}} \\{= {P(K)}}\end{matrix}$

The a priori information is therefore used on the k first bits of eachcode word.

It is deduced therefrom that the probability of a word is given by thefollowing:

if the words sent by the source are independent:${P(C)} = {\prod\limits_{i}\quad {\prod\limits_{j}\quad {{p\left( {x_{j}^{i}/x_{k{({k < j})}}^{i}} \right)}.}}}$

if the words sent follow a first-order Markov process, as for example inthe case of a sub-band image encoder as regards the direct component:${P(C)} = {\prod\limits_{i}\quad {\prod\limits_{j}\quad {p\left( {{x_{j}^{i}/x_{k{({k < j})}}^{i}},x^{i - 1}} \right)}}}$

At the end of each group of k bits, the node of the tree of the Huffmanncode that has been reached must be kept in memory so that it can be usedfor the decoding of the following group of k bits as illustrated in FIG.9. This information can be sent in order to be certain of the node fromwhich there is a departure at each start of a code word. However, thatwould reduce the compression correspondingly.

It must be noted that the general decoding scheme of the turbo-codes isthe same, whether block turbo-codes or convolutional turbo-codes areused. The difference lies in the interleaver and in each of the twodecoders DEC1 and DEC2.

8-Case of the RVLC Codes

A description is given here below of a variant of the invention,implementing a method for the decoding of RVLC codes using a piece of apriori information on the source.

A particular feature of this method is the use of a priori informationon the source during the forward and back phases of the lattice path, bymeans of the property whereby RVLC codes are decoded in both directions.

8.1-State of the Art in RVLC Decoding

To increase the robustness of the variable length codes, RVLC codes [8]have been proposed.

The RVLC codes are an extension of the Huffmann codes. They verify thecondition known as the prefix condition in both directions. Thus,whether a RVLC word sequence is taken in one direction or the other,this binary sequence can never represent an encoded element and, at thesame time, constitute the start of the code of another element. Thisdual property causes a loss in compression level and dictatesconstraints during the making of a Huffman code. It must be noted thatthe RVLC codes may be symmetrical or asymmetrical.

The following example shows the case of a symmetrical four-word RVLCcode.

word prob. Encoding a₀ p(a₀) 010 a₁ p(a₁) 101 a₂ p(a₂)  11 a₃ p(a₃)  00

Furthermore, some methods for decoding these codes have already beendescribed:

R. Bauer and J. Hagenauer [20] propose an iterative flexible decodingbinding the channel decoder and the source decoder, which is a latticeused at the bit level representing the RVLC code.

J. Wien and J. Villasenor [21] give a simple means of using theproperties of reversibility of the RLVC codes in working on the hardvalues of the bits.

8.2-State of the Art for the Decoding of the VLCs With the List-ViterbiAlgorithm

Through the use of the List-Viterbi algorithm, the sequences can beclassified and memorized in the order of probability of occurrence. Thisstorage enables the use of certain sequences when the most probablesequence does not verify an a priori condition.

This algorithm has been used by Murad and Fuja for the decoding of theVLC codes when the decoder knows the number of words sent in reception[22], [23].

8.3-Hard and Soft Source Decoding of the RVLC Codes

8.3.1-Hard Decoding of the RVLC Codes

During the decoding of a noisy VLC or RVLC word sequence, certain errorsmay be detected to stop the decoding of the corresponding frame. Theseerrors are of many types [24]:

value exceeding existing limits;

RVLC word outside the existing table;

number of words detected exceeding the expected number.

The first two types of errors correspond to the decoding of a word thatdoes not exist in the Huffmann table.

The error detection makes it possible to stop the decoding and roughlylocalize the error. With the VLC codes, the rest of the frame isconsidered to be lost. With RVLC codes, it is possible to start thedecoding in the back direction by starting from the end (in assumingthat it is known where the sequence ends) until the detection of anerror. The use of RLVCs thus makes it possible to recover a part of theinformation. A possible decoding strategy is summarized in [22]. Thisstrategy distinguishes between the cases where the decoding operationsin the forward and backward directions detect an error and those wherethey do not detect it.

One approach to overcoming the first two types of errors consists incarrying out a hard decoding operation by making a search, from amongthe authorized sequences, for that sequence which is best correlatedwith the received sequence. This search is made by means of the reducedsymbol lattice, which has already been commented upon.

8.3.2-Joint Source-Channel Soft Decoding of the RVLC Codes

Up till now, several methods have been proposed for the jointsource-channel decoding of the VLC and RVLC codes.

The optimal method which, however, is highly complex, is that of themultiplication of the channel and source lattices [5].

A sub-optimal method is that of the serial arrangement of the channeland source lattices described further above, possibly separated by aninterleaver if the algorithm is iterative [20]. This method soon becomescomplex with the number of words in the VLC or RVLC table.

Another method of very low complexity envisages the concatenation of thetwo lattices. The channel decoding is then controlled by the use of thea priori information on the source, as proposed further above.

The three methods may be used in jointly with the turbo-codes, but onlythe last two can be envisaged in terms of compromise between gain andcomputation complexity.

A first new method according to the invention is based on the lastmethod referred to for decoding VLCs and extends it to RVLC codes byusing a parallel or series types List-Viterbi algorithm [25]. Thenecessity of the List-Virterbi algorithm for the decoding of the RVLCcodes can be explained by the fact that, unlike in the case of thedecoding of VLC codes, the sequences are not all authorized atreception. Storage of the most probable authorized sequences enablesthem to be reused for the replacement of an unauthorized sequence duringthe decoding phase along the lattice of the channel decoder.

This new method can be extended also to the case of the decoding of theVLCs or RVLCs applied to real data for which, for example, there is anadditional piece of a priori information on the number of words of thesequence, on the interval of values that the coefficients may take.

A second new method for the decoding of the RVLC codes consists in usingthe equivalent of the List-Viterbi algorithm for the algorithm of theSUBMAP [26], in both directions of decoding, as shown in FIG. 10. Theusefulness of working with the algorithm of the SUBMAP arises out of itsmode of operation.

This algorithm can be subdivided into three phases:

“forward” phase 110 decoding the sequence in one direction;

“backward” phase 111 decoding the sequence in the other direction;

a posteriori probability (APP) phase 112 using the results of theprevious two phases to returning the APP of the decoded bits.

The decoding of the RVLCs is also done in both directions through theirtwo-direction decoding property. The analogy between channel encodingand source encoding shows that a combination of these two methods mayprove to be beneficial. Thus, during the decoding of the sequencereceived at the lattice of the channel decoder, each decoding directionmay use its a priori information 113. To make the best possible use ofthe a priori information in the backward direction, it is useful to knowwhich is the final state of the lattice. This information is obtainedeither by transmitting it or by placing padding bits or by using the“tail-biting” or the circular lattice technique [27].

The a priori information used may be of two types, as already mentioned.

Once the soft channel decoding has been done by using the a prioriinformation, the soft sequence obtained is not necessarily an authorizedsequence because, although the forward and the backward phases guaranteethis condition, the APP phase does not guarantee it. It is thenadvantageous to have this channel decoding checked by the source of areduced symbol lattice 114 giving the most probable authorized sequence.

8.4 Soft Source-Channel Decoding Using Turbo-Codes

The decoding method referred to here above can be applied advantageouslyto a turbo-code type scheme. The channel encoder is then replaced by theturbo codes. This makes it possible to keep the gain obtained at lowsignal-to-noise ratio throughout the range of signal-to-noise ratios.

In the first method, the source lattice 120 is used in series with thetwo decoders as can be seen in FIG. 11.

The second method takes up the second principle described further above:the channel lattice uses the a priori information directly as explainedin FIG. 12. Just as in the case of the previous part, to make the bestpossible use of the a priori information in the “backward” direction, itis useful to know the final state of the lattice. This information isobtained either by transmitting it or by placing padding bits or byusing the technique of circular encoding. This technique is, to theRecursive Systematic Codes (RSC), what the “tail-biting” technique isfor the Non Systematic Codes (NSC) [28].

9-Performance

The possibility of carrying out a soft decision decoding of the Huffmanncodes has been shown. As compared with already published work, themethod of the invention makes it possible to work at the bit level. Asource decoding block with weighted inputs and outputs, called a“SISO_huff” can thus be introduced into a turbo-code type of channeldecoding scheme. Another possibility is to use the a priori informationon the source directly at the channel decoder. This second method isappreciably less complex and gives results equivalent to those obtainedwith “SISO_huff”.

The gains given by this type of scheme depend firstly on the modelingused for the source with a priori knowledge of the probabilities of theHuffman symbols or of their probabilities of transition, and secondly,of the ratio E_(b)/N_(o) on the channel.

In the comparisons that we have made, we assess our gains with respectto the corresponding tandem scheme. In the range of binary error ratesaround 10⁻² to 10⁻³, both new techniques provide gains of 0.5 to 1 dBstarting with their first iteration, and achieve this with NSCs (or NonSystematic Coder).

Furthermore, their use in a turbo-code type of iterative scheme improvesperformance by 0.5 to 1.5 dB. The gain depends on the S/N ratio and onthe residual redundancy. Furthermore, the joint use of both methodsprovides for an even greater cumulative gain.

In the spreads of gain values announced, the highest values are obtainedat low signal-to-noise ratios. This considerably increases the range ofoperation in transmission. It must also be noted that, in a turbo-codetype scheme, this can provide for a corresponding shift, hence a 0.5 to1.5 dB shift, in the point of activation of the turbo-code effect.

The first method requires the running of the decoding algorithm on the“SISO_huff” lattice while the second method simply requires an updatingof a table during the decoding on the lattice of the channel decoder.Furthermore, unlike the first method, the second method has acomputation complexity that does not increase with the number of wordsin VLC table.

Since the use of Huffman type variable length codes is very widespread,these decoding techniques may be suited to many contexts. Theapplications are numerous. Huffman tables are found for example in theMPEG4 standard for the encoding of DC band and AC band coefficients forintra-coded images as well as for motion vector encoding.

The invention can also be used in a more full-scale transmission systemtaking account of a standard-compliant or near-standard-compliant systemof image encoding, and a channel model representing the radio-mobilechannel such as the BRAN (<<Broadcast Radio Network>>).

Appendix A

The Huffman code ([18]) is an entropic code that compresses a source byencoding data with low probability on a binary length greater thanaverage and encodes words with high probability on a short binarylength. The Huffman code is much used because there are no other integercodes (codes whose symbols are encoded on a whole number of bits) thatgive a lower average number of bits per symbol. One of its essentialcharacteristics is that a binary sequence can never represent an encodedelement and, at the same time, constitute the beginning of the code ofanother element. This characteristic of Huffman encoding enablesrepresentation by means of a binary tree structure where the set ofwords is represented by the set of paths from the root of the tree tothe leaves of the tree.

There are many ways of representing the construction of the Huffmancode. The method that appears to be the simplest one is based on thetree structure.

Let us take N words a_(i) with respective probabilities p(a_(i)). Thetree is built from its N terminal tops.

Each terminal top i is assigned the probability p(a_(i)) and willprovide for the binary breakdown of the word a_(i).

The algorithm for the construction of the tree consists, in each step,in summing up the two lowest probabilities of the previous step to jointhem at a top assigned the sum probability.

At the last step, the top with the probability 1 is obtained. This isthe root of the tree.

What remains to be done is to label the branches of the tree obtained byindexing the right-hand branches of each top with 1 and the left-handbranches with 0. The binary breakdown of the word a_(i) is then obtainedby going down the tree from the top with the probability 1 to the top i.

The example explained takes the case of four words as shown in FIG. 6.

Table 1 Example of Huffman table Word Probability Binar Code a₀ p(a₀)111 a₁ p(a₁) 110 a₂ p(a₂)  10 a₃ p(a₃)  0

Appendix B

Source Decoding of Independent or Markovian Symbols

Two optimal structures are used for the decoding of an encoded sequence.Each is based on a different criterion, the criterion of the most likelysequence or the criterion of the most likely symbol commonly called theMAP (maximum a posteriori) criterion

1. Viterbi Algorithm

The search for the most likely sequence is made with the Viterbialgorithm [9] which seeks the most probable sequence X emitted, thesequence Y received being known: $\begin{matrix}{\max\limits_{X}{P\left( {X/Y} \right)}} & (1)\end{matrix}$

Since the logarithmic function is strictly increasing, it is equivalentto maximizing log P(X/Y) $\begin{matrix}{\max\limits_{X}\quad {\log \quad {P\left( {X/Y} \right)}}} & (2)\end{matrix}$

By applying Bayes's law

P(X/Y)P(Y)=P(Y/X)P(X)  (3)

The criterion becomes: $\begin{matrix}{\max\limits_{X}\left\lbrack {{\log \quad {P\left( {Y/X} \right)}} + {\log \quad {P(X)}}} \right\rbrack} & (4)\end{matrix}$

The a posteriori information on X can these broken down into two terms.The first log P(Y/X) relates to information given by the channel, andthe second log P(X) relates to the a priori information on the sequencesent.

If the noise samples of the channel are independent, then the law of thenoise P(Y/X) can be expressed as the product of the laws ofprobabilities of the noise disturbing each of the words x^(i) and y^(i)and of the transmitted bits x^(i) _(j) and y^(i) _(j). $\begin{matrix}{{\log \quad {P\left( {Y/X} \right)}} = {\log \quad {\prod\limits_{i}\quad {\prod\limits_{j}\quad {p\left( {y_{j}^{i}/x_{j}^{i}} \right)}}}}} & (5)\end{matrix}$

With respect to the a priori probability P(X), the two assumptionsconsidered are:

the words sent by the source are independent $\begin{matrix}\begin{matrix}{{\log \quad {P(X)}} = {\log \quad {\prod\limits_{i}\quad {p\left( x^{i} \right)}}}} \\{= {\sum\limits_{i}{\log \quad {p\left( x^{i} \right)}}}}\end{matrix} & (6)\end{matrix}$

the words emitted follow a first-order Markov process as for example inthe case of a sub-band image encoder with regard to the DC component. Wethen have: $\begin{matrix}\begin{matrix}{{\log \quad {P(X)}} = {\log \quad {\prod\limits_{i}\quad {p\left( {x^{i}/x^{i - 1}} \right)}}}} \\{= {\sum\limits_{i}{\log \quad {p\left( {x^{i}/x^{i - 1}} \right)}}}}\end{matrix} & (7)\end{matrix}$

Classically, the decoding according to the Viterbi algorithm comprisesan ACS (Add Compare Select) phase: at each stage and in each state, themetric of the branch associated with each of the two concurrentsequences is added up, the two metrics obtained are compared and thelowest metric sequence is selected.

2. The MAP Algorithm

The decoding according to the MAP algorithm is done according to thefollowing rule $x_{j}^{i} = \left\{ \begin{matrix}{+ 1} & {{p\left( {x_{j}^{i} = {{+ 1}/Y}} \right)} > {p\left( {x_{j}^{i} = {{- 1}/Y}} \right)}} \\{- 1} & {else}\end{matrix} \right.$

The computation of the probability p(x^(i) _(j)=+1/Y) is complex. Thiscomplexity may be reduced at the cost of impaired performance. The lesscomplex algorithm is called the SUBMAP algorithm [11].

3. Weighting of the Decisions of the Decoder

This weighting is a piece of dependability information on the estimationmade by the decoder. This “soft” piece of information, sometimes calledextrinsic information, can be used by an external decoder, a sourcedecoder or any other device coming into play in the reception of theinformation [12].

Several algorithms give weighted decisions on the decoder values:

the SOVA (Soft Output Viterbi Algorithm) [13]is based on a slightmodification of the Viterbi algorithm.

The BCJR (Bahl Cocke Jelinek Raviv) [14] algorithm is established on theMAP criterion.

A VLC encoded source or a source coming from a channel encoder may berepresented by a lattice from which the extrinsic information can beextracted. A part of the invention proposes to build a lattice of thiskind from the VLC code of the source.

Appendix C RÉFÉRENCES

[1] C. Berrou, A. Glavieux, and P. Thitimajshima “Near Shannon limiterror-correcting coding and decoding: Turbo-Codes”. Proceeding of ICC,pages 1064-1070, May 1993.

[2] C. E. Shannon. “A Mathematical Theory of Communication”, volume 27.Bell System Tech. J., 1948.

[3] S. B. Zahir Azami. “Codage conjoint Source/Canal, protectionhiérarchique”. PhD thesis, ENST Paris, May 1999.

[4] N. Demir and K. Sayood. “Joint source/channel coding for variablelength codes”. In Data Compression Conference (DCC), pages 139-148,Snowbird, Utah, USA, March 1998.

[5] A. H. Murad and T. E. Fuja. “Joint source-channel decoding ofvariable length encoded sources”. In Information Theory Workshop (ITW),pages 94-95, Killarney, Ireland, June 1998.

[6] K. P. Subbalakshmi and J. Vaisey. “Joint source-channel decoding ofentropy coded Markov sources over binary symmetric channels”. InProceedings of ICC, page Session 12, Vancouver, Canada, June 1999.

[7] J. Wien and J. D. Villasenor. “Utilizing soft information indecoding of variable length codes”. In Data Compression Conference(DCC), Snowbird, Utah, March 1999.

[8] Y. Takishima, M. Wada, and B. Murakami. “Reversible variable lengthcodes”. IEEE Transactions on Communications, 43:158-162, 1995.

[9] A. Viterbi. “Error bounds for convolutional codes and anasymptotically optimal decoding algorithm”. IEEE Transactions onInformation Theory, 13:260269, 1967.

[10] W. Koch and A. Baier. “Optimum and sub-optimum detection of codeddata disturbed by time-varying intersymbol interference”. ProceedingsGLOBECOM, pages 1679-1684, December 1990.

[11] P. Robertson, E. Villebrun, and P. Hoeher. “A comparaison ofoptimal and sub-optimal map decoding algorithms operating in thelog-domain”. In Proceedings of ICC, pages 1009-1013, Seattle, Wash.,June 1995.

[12] J. Hagenauer. “Soft-in/Soft-out: the benefit of using soft valuesin all stages of digital receiver”. Institute for communicationstechnology, 1990.

[13] J. Hagenauer and P. Hoeher. “A Viterbi algorithm with soft-decisionoutputs and its applications”. Proceedings GLOBECOM, pages 1680-1686,November 1989.

[14] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv. “Optimal decodingof linear codes for minimizing symbol error rate”. IEEE Transactions onInformation Theory, pages 284-287, March 1974.

[15] S. Benedetto and G. Montorsi. “Generalized concatenated codes withinterleavers”. In International Symposium on Turbocodes, pages 32-39,Brest, September 1997.

[16] J. Hagenauer. “Source-controlled channel decoding”. IEEETransactions on Communications, 43:2449-2457, September 1995.

[17] A. E. Escott and S. Perkins. “Binary Huffman equivalent codes witha short synchronizing codeword”. IEEE Transactions on InformationTheory, 44:346-351, January 1998.

[18] D. A. Huffman. “Method for the reconstruction of minimum redundancycodes”. Key Papers in The development of Information Theory, pages47-50, 1952.

[19] K. Sayood and J. C. Borkenhagen. “Utilization of correlation in lowrate dpcm systems for channel error protection”. In Proceedings of ICC,pages 1388-1892, June 1986.

REFERENCES

[20] R. Bauer and J. Hagenauer. “Iterative source/channel decoding usingreversible variable length codes”. In Data Compression Conference (DCC),Snowbird, Utah, March 2000.

[21] J. Wien and J. D. Villasenor. “A class of reversible variablelength codes for robust image and video coding”. In ICIP, volume 2,pages 65-68, Santa Barbara, Calif., October 1997.

[22] A. H. Murad and T. E. Fuja. “Robust transmission of variable-lengthencoded sources”. In IEEE Wireless Communications and NetworkingConference, New Orleans, La., September 1999.

[23] A. H. Murad and T. E. Fuja. “Variable length source codes, channelcodes, and list-decoding”. In information Theory Workshop (ITW), Krugernational park, South Africa, June 1999;

[24] Video Group. “Error-resilient video coding in the ISO MPEG4standard”. R. Talluri, 1997.

[25] N. Seshadri and C. E. Sundberg. “List Viterbi decoding algorithmswith applications”. IEEE transactions on communications, 42: 313-323,February 1994.

[26] P. Robertson, E. Villebrun, and P. Hoeher. “A comparison of optimaland suboptimal map decoding algorithms operating in the log-domain”. InProceedings of ICC, pages 1009-1013, Seattle, Wash., June 1995.

[27] J. C. Carlach, D. Castelain, and P. Combelles. “Soft-decoding ofconvolutional block codes for an interactive television return channel”.In International Conference on Universal Communications Records, pages249-253, San Diego, Calif., October 1997.

[28] C. Berrou, C. Douillard, and M. Jezequel. “Multiple parallelconcatenation of circular recursive systematic convolutional (CRSC)codes” In Annales des telecommunications, pages 166-172, March 1997.

What is claimed is:
 1. A method for the decoding of received digitaldata, corresponding to sent digital data encoded by an entropic codeassociating a distinct sequence of bits with each symbol of a group ofsymbols, the length of the sequence depending on probability ofoccurrence of a respective symbol, the method being characterized byimplementing a decoding lattice for which each transition corresponds toa binary value of one of the bits of a sequence of bits corresponding toone of the symbols.
 2. The decoding method according to claim 1, whereinthe entropic code is represented in the form of a binary tree comprisinga root node, a plurality of intermediate nodes and a plurality of leafnodes so that a sequence of bits corresponding to one of the symbols isderived from successive transitions of the tree from the root node tothe leaf node associated with the symbol, the method being characterizedin that each stage of the lattice comprises a single extremal statecorresponding to the root node and to all of the leaf nodes, and adistinct intermediate state for each of the intermediate nodes.
 3. Thedecoding method according to claim 1, characterized in that a likelihoodinformation is associated with each transition of the lattice.
 4. Thedecoding method according to claim 3, characterized in that thelikelihood information is a metric representing the transmission channeland a priori information on the entropic code.
 5. The decoding methodaccording to claim 4, characterized in that the a priori informationbelongs to a group comprising: the implemented entropic code, an apriori probability of each of the symbols of the code, a number ofsymbols sent, and/or borderline values for the coefficients.
 6. Thedecoding method according to claim 4, characterized in that the Γ[(x_(k) ,x _(k) ^(p)),d _(k) ,d _(k−1) ]=Pr(x _(k) /a _(k) =i)Pr(y _(k)^(p) /a _(k) =i,d _(k) ,d _(k−1))Pr{a _(k) =i,d _(k) /d _(k−1)} iscomputed for each of the transitions.
 7. The decoding method accordingto claim 1, characterized in that the entropic code belongs to a groupcomprising Huffman codes and reversible variable length codes (RVLC). 8.The decoding method according to claim 7, characterized in that theentropic code is an RVLC code and the a priori information is used for aforward phase in the path through the lattice and a backward phase inthe path through the lattice.
 9. The decoding method according to claim1, characterized in that it further comprises a step of searching for amost probable authorized sequence by reduced symbol lattice having asingle initial state from which there are as many outgoing and arrivingsymbols as there are sequences of bits.
 10. A device for the decoding ofdigital data, implementing the decoding method according to claim
 1. 11.A digital signal transmission system characterized in that it implementsan entropic source encoding operation and a channel encoding operationat transmission, and a decoding operation at reception according to themethod of claim
 1. 12. A method for joint source-channel decoding of areceived digital signal source encoded by an entropic code associating adistinct sequence of bits with each of a group of symbols, a length ofthe sequence being a function of a probability of occurrence of therespective symbol, characterized by a source decoding operation using atleast one decoding lattice, each transition of which corresponds to abinary value of one of the bits of the bit sequence corresponding to oneof the symbols, the source decoding operation delivering informationextrinsic to the channel decoding.
 13. The joint decoding methodaccording to claim 12, characterized in that the channel decodingimplements a turbo-code type of decoding.
 14. The joint decoding methodaccording to claim 13, characterized in that the turbo-code typedecoding relies on a parallel type of implementation.
 15. The jointdecoding method according to claim 13, characterized in that theturbo-code type decoding relies on a serial type of implementation. 16.The joint decoding method according to claim 13, characterized in thateach iteration of turbo-code type decoding implements a block matrix,having rows and columns, on which a row decoding operation is performedfollowed by a column decoding operation, or a column decoding operationis performed followed by a row decoding operation, and in that an apriori information is used for the row or column decoding operationrespectively.
 17. The joint decoding method according to claim 16,characterized in that each row or column, respectively, corresponds to asequence of k information bits.
 18. The joint decoding method accordingto claim 16, characterized in that it implements a step to detect abeginning and/or end of each sequence of bits.
 19. The joint decodingmethod according to claim 18, characterized in that the detection steprelies on an implementation of at least one of the techniques belongingto a group comprising: the insertion at transmission of a beginning ofsymbol and/or end-of-information, the insertion of padding bits so thatthe symbols accompanied by the padding bits have a constant length, theuse of a “tail-biting” technique, and the use of a circular lattice. 20.The joint decoding method according to claim 12, characterized in thatit relies on an iterative type of implementation.
 21. The joint decodingmethod according to claim 20, characterized in that each of theiterations sequentially comprises a channel decoding step and a sourcedecoding step, the channel decoding step delivering channel informationconsidered in the source decoding step, the source decoding stepdelivering an a priori information considered in the channel decodingstep.
 22. The joint decoding method according to claim 20, characterizedin that each of the iterations comprises a first channel decoding stepemploying a first interleaver a first source decoding steps fed by thefirst channel decoding step, a second channel decoding step fed by thefirst channel decoding step and the first source decoding step through asecond interleaver modeled on the first interleaver and feeding thefirst channel decoding step through a de-interleaver symmetrical withthe first interleaver, and a second source decoding step fed by thesecond channel decoding step through the de-interleaver and feeding tothe first channel decoding step.
 23. The joint decoding method accordingto claim 12, characterized in that the entropic code is a reversiblevariable length code (RVLC).
 24. The joint decoding method according toclaim 23, characterized in that channel decoding and source decodinglattices are concatenated, and the channel decoding is controlled by ana priori information on the source.
 25. The joint decoding methodaccording to claim 24, characterized in that it implements a parallel orserial type of list Viterbi algorithm associated with a step forreplacement, on a path through the channel decoding lattice, of asequence not authorized by the source with the most probable authorizedsequence.
 26. The joint decoding method according to claim 24,characterized in that it implements a SUBMAP algorithm in the forwardand backward directions through the channel decoding lattice.
 27. Amethod for the joint source-channel decoding of a received digitalsignal source encoded by an entropic code associating a distinctsequence of bits with each symbol of a group of symbols, the length ofthe sequence being a function of a probability of occurrences of arespective symbol, characterized by implementing a channel-decodinglattice, such that with each state of each stage there is associatedinformation representing a sequence of previously decoded bits passingthrough this state, the information being based on a path direction ofthe lattice and designating a position of the bits considered in thelattice representing the entropic code and/or information to verify anumber of decoded symbols and/or a value taken by the decoded bits. 28.The joint decoding method according to claim 27, characterized in thatit comprises, for each of the states, steps of: addition of the channelmetric and the source metric to the path direction into the state,comparison of the two new metrics and the selection of the shortestmetric, and if the information designating the position indicates theend of a symbol, considering the node to be a leaf of the tree, or ifthe information does not indicate the end of a symbol, passing on to thenext node in the tree.
 29. The joint decoding method according to claim27, characterized in that it implements an iterative procedure.
 30. Thejoint decoding method according to claim 29, characterized in that itcomprises steps of: a first channel decoding operation, employing afirst interleaver and implementing a channel decoding lattice for whicheach state has information designating the position of the bitsconsidered in a tree representing the entropic code, a second channeldecoding operation fed by the first channel decoding step through asecond interleaver modeled on the first interleaver and feeding thefirst channel decoding step through a de-interleaver symmetrical withthe first interleaver, a source decoding operation fed by the secondchannel decoding step through the de-interleaver.
 31. The joint decodingmethod according to claim 30, characterized in that it implements aturbo-code type decoding.